package com.triadsystems.cashweb.controle.conversores;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;

import com.triadsystems.cashweb.controle.mbean.dto.ResumoMeioPagamentoDTO;

@FacesConverter(value="meioPagConversor", forClass=ResumoMeioPagamentoDTO.class)
public class MeioPagConversor  implements Converter {
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String valorTela) throws ConverterException {
		BigDecimal retornaValor;
		
		if ( !valorTela.equals( "" ) ) {
          if ( valorTela.startsWith( "R$ " ) ) {
        	  valorTela = valorTela.substring( 3 );
          }
          
          valorTela = valorTela.replace(".", "");
          valorTela = valorTela.replace("," , ".");
		} else {
			return "";
		}
		
		retornaValor = new BigDecimal(valorTela);
		
		return retornaValor;
	}

	public String getAsString(FacesContext arg0, UIComponent arg1, Object valorTela) throws ConverterException {

		if (valorTela == null || valorTela.toString().trim().equals("")) {
			return "";

		} else {
			NumberFormat format = new DecimalFormat("#,##0.00");  
			format.setMinimumFractionDigits(2);  
			
			BigDecimal verifica = (BigDecimal) valorTela;
			if(verifica.equals(BigDecimal.ZERO)){
				return "-";
			}
			
			String valorFormatado = format.format(valorTela);
			return valorFormatado;
		}
	}

}
